#ifndef _XX_YY_BMOCK_RAW_LEN_CHECKER
#define _XX_YY_BMOCK_RAW_LEN_CHECKER
#include "detail/bmock_control_tools.hpp"

namespace bmock {
	struct raw_len_checker {
		     raw_len_checker(const control_tools_ptr &tl);
		void set_location(const location &loc);
		void check_pad_len(const std::string &name,const size_t exp,size_t act) const;
		bool check_not_pad_len(const std::string &name,const size_t exp,size_t act) const;
		void invalid_pad(const std::string &name) const;
		void throw_loc()const{throw loc_;}
	protected:
		control_tools_ptr tools_;
		location                loc_;
		raw_len_checker &operator =(const raw_len_checker &) {return *this;}
	};
};
#endif